package com.jy.rhin.model;


import com.jy.rhin.infra.cda.EDataElement;
import com.jy.rhin.infra.cda.XPath;
import com.jy.rhin.infra.cda.XValid;
import com.jy.rhin.model.body.zhongxingjsbdj.*;
import com.jy.rhin.model.header.LegalAuthenticator;
import com.jy.rhin.model.header.Participant;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = false)
public class ZhongXingJSBDJ extends ClinicalDocumentData {

    //文档唯一id
    @XPath(path = "/id/@extension"
            , xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE01_00_008_00))
    String id;
    @XPath(path = "/legalAuthenticator")
    LegalAuthenticator legalAuthenticator;
    @XPath(path = "/participant/associatedEntity")
    Participant participant;
    //知情同意
    @XPath(path = "/component/structuredBody/component/section/code[@code='34895-3']/..")
    ZhiQingTY zhiQingTY;
    //重性精神病患者健康史
    @XPath(path = "/component/structuredBody/component/section/code[@displayName='重性精神病患者健康史']/..")
    JianKangShi jianKangShi;
    //主要健康问题
    @XPath(path = "/component/structuredBody/component/section/code[@code='11450-4']/..")
    ZhuYaoJKWT zhuYaoJKWT;
    //诊断记录
    @XPath(path = "/component/structuredBody/component/section/code[@code='29548-5']/..")
    ZhenDuanJL zhenDuanJL;
    //健康评估
    @XPath(path = "/component/structuredBody/component/section/code[@code='51848-0']/..")
    JianKangPG jianKangPG;

}
